系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 脚本中心 > linux shell > 详细页面

SHELL脚本中运算符、逻辑运算以及用法

时间:2020-02-22来源:电脑系统城作者:电脑系统城

一、算数运算

1. bash中的算术运算:

可用help let查看帮助

常见的算数运算符:

+(加), -(减), *(乘), /(除), %取模(取余), **(乘方)

实现算术运算:

① let var=算术表达式

 图片1.png

 图片1.png

 图片1.png

 图片1.png

注:let运算只保留整数位

 图片1.png

 图片1.png

② var=$[算术表达式]

图片1.png 

其余算数表达式同理

③ var=$((算术表达式))

图片1.png 

其余算数表达式同理

④  var=$(expr arg1 arg2 arg3 ...)

图片1.png 

其余算数表达式同理

⑤ declare –i var = 数值

图片1.png 

其余算数表达式同理

⑥ echo ‘算术表达式’ | bc

图片1.png 

其余算数表达式同理

2. 乘法符号有些场景中需要转义,如*

图片1.png 

3. bash有内建的随机数生成器:$RANDOM(0-32767)

例如:取出0-49之间的随机数

 图片1.png

二、赋值运算

1. 增强型赋值:

① +=

图片1.png 

② -=

图片1.png 

③ *=

图片1.png 

④ /=

图片1.png 

⑤ %=

图片1.png 

2. 自增,自减:

① ++

图片1.png 

② --

图片1.png 

三、逻辑运算

1. true, false

测试命令:

 test EXPRESSION

 [ EXPRESSION ]

[[ EXPRESSION ]]

注意:EXPRESSION前后必须有空白字符

返回结果:

1为true,0为false

2. 与(&)

1 与 1 = 1

1 与 0 = 0

0 与 1 = 0

0 与 0 = 0

例如:12与24

12转换成二进制:01100

24转换成二进制:11000

与的结果是:01000

转换成十进制是:8

图片1.png 

3. 或(|)

1 或 1 = 1

1 或 0 = 1

0 或 1 = 1

0 或 0 = 0

依然是上例,12或24

12转换成二进制:01100

24转换成二进制:11000

或的结果是:11100

转换成十进制是:28

图片1.png 

4. 非(!)

! 1 = 0 ! true

! 0 = 1 ! false

5. 短路运算

① 短路与(&&)

第一个为0,结果必定为0即:

命令1 && 命令2

命令1为假,不执行命令2

图片1.png 

第一个为1,第二个必须要参与运算

命令1 && 命令2

命令1为真,执行命令2

图片1.png 

② 短路或(||)

第一个为1,结果必定为1

命令1 || 命令2

命令1为真,不执行命令2

图片1.png 

第一个为0,第二个必须要参与运算

命令1 || 命令2

命令1为假,执行命令2

图片1.png 

6. 异或(^)

异或的两个值,相同为假(0),不同为真(1)

例如:12异或24

12转换成二进制:01100

24转换成二进制:11000

12异或的结果:10100

转换成十进制是:20

图片1.png 

分享到:

相关信息

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载